
/**
 * @brief    Defines a set of frequencies for problem solution.
 *
 * @version  0.1
 * @author   wuxingchuang
 * @date     2024.11.21
 *          _
 *      ___| |__   ___ _ __   __ _  ___  _ __   __ _
 *     / __| '_ \ / _ \ '_ \ / _` |/ _ \| '_ \ / _` |
 *     \__ \ | | |  __/ | | | (_| | (_) | | | | (_| |
 *     |___/_| |_|\___|_| |_|\__, |\___/|_| |_|\__, |
 *                           |___/             |___/
 * @copyright (c) 2024 by 神工仿真, All Rights Reserved.
 */
#pragma once
#include <vector>
#include <algorithm> 
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Common/SetBase.h"

SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN

struct FREQ1Data : public SetBase
{
    SG::DataStructure::Common::Real m_F1       = 0.0;  ///<
    SG::DataStructure::Common::Real m_DF       = 0.0;  ///<
    SG::DataStructure::Common::I64  m_NDF      = 0;    ///<
    SG::DataStructure::Common::Id   m_domainId = 0;    ///<
};
using FREQ1DataSet = std::vector<FREQ1Data>;

DECLSPEC std::vector<SG::DataStructure::Common::Real> getfreqVector(const FREQ1DataSet& freqSet);

///< @brief 判断数据是否相等
DECLSPEC bool operator== (const FREQ1Data& val1, const FREQ1Data& val2);

SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE
